Organizations of all types are adapting to a world economy where it is necessary to have efficient processing of data across the globe. An operational model where an organization operates a single, medium or large scale memory for its computing needs in the organization's home country is for all intents and purposes a thing of the past. A new operational model for many organizations relies on a distributed memory system of large memory nodes, operating as both end points and connecting points, which are physically located in many different countries where an organization does business or operates.
A primary advantage of the new operational model is that local memory in a distributed memory network improves latency and avoids bottlenecks for local users. While this advantage is sizeable, there also exists a drawback in the new operational model. Specifically, in a worldwide distributed memory system each node (local memory) has to maintain replica data of a master set of data. Therefore, when a new node is added to the distributed memory network the new node must acquire all the historical data from the master set of data. A newly added node in the distributed memory network is sometimes referred to as a “provisioned node” or a “newly provisioned node” or a “node being bootstrapped.”
Conventionally, data synchronization between nodes can be aided by time stamping of incoming changes. Provided that all timestamps are accurate, and that their resolution is high enough (usually in milliseconds), a “youngest” timestamp determines a most recent change. A process of time stamping can also be utilized for replicating key/value stores, since the most recent change is the relevant operation in a replication scenario. Unfortunately, enormous synchronization problems may occur using time stamping.
One process of replicating key/values stores is to freeze every input, and to make a complete copy of the key/value pairs. This is sometimes known as a “stop the world” approach. That is to say, every time a new node is provisioned the entire distributed memory network is temporarily taken offline while a copy of the key/value pairs in the master data is provided to the new, replica node. It should be clear that this is not an efficient use of resources.